// The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import Vue from 'vue'
import App from './App'
import router from './router'
// 引入elementui
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
// 创建完store之后要引入，然后挂载到vue实例上面
// 这样在整个页面中就可以使用store了
import store from '@/store/store';

Vue.use(ElementUI);
Vue.config.productionTip = false

// 注册一个全局守卫，作用是在路由跳转前，对路由进行判断，防止未登陆的用户跳转到其他页面
// router.beforeEach((to,from,next) => {
//   // 首先获取token  此时并不知道是否的曾经登陆过，也就是并不知道是否有token
//   let token = localStorage.getItem('mytoken')
//   // 如果有token,说明曾经登陆过，那么就允许他跳转到其他页面
//   if(token){
//     next()
//     // 如果没偶登陆且访问的页面也不是登陆页面，那么就强制跳转到登陆页面
//   }else{
//     if(to.path !== '/login'){
//       next({path:'/login'})
//       // 如果没有登陆，但是访问的就是登陆页面，那么就正常访问
//     }else{

//     }
//   }
// })

// 注册一个全局守卫，作用是在路由跳转前，对路由进行判断，防止未登录的用户跳转到其他需要登录的页面去
router.beforeEach((to, from, next) => {
  let token = localStorage.getItem('mytoken')
  // 如果已经登录，那我不干涉你，让你随便访问
  if (token) {
    next()
  } else {
    if (to.path !== '/login') {
      // 如果没有登录，但你访问其他需要登录的页面，那我就让你跳到登录页面去
      next({
        path: '/login'
      })
    } else {
      // 如果没有登录，但你访问的login，那就不干涉你，让你访问
      next()
    }
  }
})

/* eslint-disable no-new */
new Vue({
  el: '#app',
  router,
  store,
  components: {
    App
  },
  template: '<App/>'
})
